package com.ruoyi.driver.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 网约车信息对象 tb_driver_car_info
 * 
 * @author ruoyi
 * @date 2025-08-27
 */
public class TbDriverCarInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 信息ID */
    private Integer onlineCarInfoId;

    /** 司机ID */
    @Excel(name = "司机ID")
    private Integer driverId;

    /** 手机运营商 */
    @Excel(name = "手机运营商")
    private Integer mobileOperator;

    /** 公司标识 */
    @Excel(name = "公司标识")
    private String companyIdentifier;

    /** 注册地行政区代码 */
    @Excel(name = "注册地行政区代码")
    private String registrationAreaCode;

    /** 驾驶员出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "驾驶员出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date driverBirthday;

    /** 国籍 */
    @Excel(name = "国籍")
    private String nationality;

    /** 驾驶员民族 */
    @Excel(name = "驾驶员民族")
    private String driverEthnic;

    /** 驾驶证编号 */
    @Excel(name = "驾驶证编号")
    private String driverLicenseNo;

    /** 驾驶员婚姻状况  */
    @Excel(name = "驾驶员婚姻状况 ")
    private Integer maritalStatus;

    /** 驾驶员外语能力 */
    @Excel(name = "驾驶员外语能力")
    private String foreignLanguageAbility;

    /** 使用APP版本号 */
    @Excel(name = "使用APP版本号")
    private String appVersion;

    /** 使用地图类型 */
    @Excel(name = "使用地图类型")
    private String mapType;

    /** 驾驶员学历 */
    @Excel(name = "驾驶员学历")
    private Integer driverEducation;

    /** 户口登记机关名称 */
    @Excel(name = "户口登记机关名称")
    private String householdRegistryAgency;

    /** 户口住址或常住地址 */
    @Excel(name = "户口住址或常住地址")
    private String householdAddress;

    /** 驾驶员通信地址(现居住地址) */
    @Excel(name = "驾驶员通信地址(现居住地址)")
    private String driverMailingAddress;

    /** 驾驶员照片文件编号 */
    @Excel(name = "驾驶员照片文件编号")
    private String driverPhotoFileNo;

    /** 机动车驾驶证 */
    @Excel(name = "机动车驾驶证")
    private String driverLicense;

    /** 机动车驾驶证扫描件文件编号 */
    @Excel(name = "机动车驾驶证扫描件文件编号")
    private String driverLicenseScanNo;

    /** 准驾车型 */
    @Excel(name = "准驾车型")
    private String allowedVehicleType;

    /** 初次领取驾驶证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初次领取驾驶证日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstLicenseDate;

    /** 驾驶证有效期限起 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "驾驶证有效期限起", width = 30, dateFormat = "yyyy-MM-dd")
    private Date licenseValidStart;

    /** 驾驶证有效期限止 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "驾驶证有效期限止", width = 30, dateFormat = "yyyy-MM-dd")
    private Date licenseValidEnd;

    /** 是否巡游出租车驾驶员  */
    @Excel(name = "是否巡游出租车驾驶员 ")
    private Integer isTaxiDriver;

    /** 网络预约出租汽车驾驶员资格证号 */
    @Excel(name = "网络预约出租汽车驾驶员资格证号")
    private String onlineCarLicenseNo;

    /** 网络预约出租汽车驾驶员证发证机构 */
    @Excel(name = "网络预约出租汽车驾驶员证发证机构")
    private String onlineCarLicenseAgency;

    /** 资格证发证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "资格证发证日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date qualificationIssueDate;

    /** 初次领取资格证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初次领取资格证日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstQualificationDate;

    /** 资格证有效期起日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "资格证有效期起日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date qualificationValidStart;

    /** 资格证有效期止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "资格证有效期止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date qualificationValidEnd;

    /** 报备日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报备日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordDate;

    /** 是否专职驾驶员  */
    @Excel(name = "是否专职驾驶员 ")
    private Integer isFullTimeDriver;

    /** 是否在驾驶员黑名单 */
    @Excel(name = "是否在驾驶员黑名单")
    private Integer isInBlacklist;

    /** 服务类型  */
    @Excel(name = "服务类型 ")
    private Integer serviceType;

    /** 驾驶员合同(或协议)签署公司 */
    @Excel(name = "驾驶员合同(或协议)签署公司")
    private String contractCompany;

    /** 紧急情况联系人 */
    @Excel(name = "紧急情况联系人")
    private String emergencyContact;

    /** 紧急情况联系人电话 */
    @Excel(name = "紧急情况联系人电话")
    private String emergencyContactMobile;

    /** 紧急情况联系人通信地址 */
    @Excel(name = "紧急情况联系人通信地址")
    private String emergencyContactAddress;

    public void setOnlineCarInfoId(Integer onlineCarInfoId) 
    {
        this.onlineCarInfoId = onlineCarInfoId;
    }

    public Integer getOnlineCarInfoId() 
    {
        return onlineCarInfoId;
    }

    public void setDriverId(Integer driverId) 
    {
        this.driverId = driverId;
    }

    public Integer getDriverId() 
    {
        return driverId;
    }

    public void setMobileOperator(Integer mobileOperator) 
    {
        this.mobileOperator = mobileOperator;
    }

    public Integer getMobileOperator() 
    {
        return mobileOperator;
    }

    public void setCompanyIdentifier(String companyIdentifier) 
    {
        this.companyIdentifier = companyIdentifier;
    }

    public String getCompanyIdentifier() 
    {
        return companyIdentifier;
    }

    public void setRegistrationAreaCode(String registrationAreaCode) 
    {
        this.registrationAreaCode = registrationAreaCode;
    }

    public String getRegistrationAreaCode() 
    {
        return registrationAreaCode;
    }

    public void setDriverBirthday(Date driverBirthday) 
    {
        this.driverBirthday = driverBirthday;
    }

    public Date getDriverBirthday() 
    {
        return driverBirthday;
    }

    public void setNationality(String nationality) 
    {
        this.nationality = nationality;
    }

    public String getNationality() 
    {
        return nationality;
    }

    public void setDriverEthnic(String driverEthnic) 
    {
        this.driverEthnic = driverEthnic;
    }

    public String getDriverEthnic() 
    {
        return driverEthnic;
    }

    public void setDriverLicenseNo(String driverLicenseNo) 
    {
        this.driverLicenseNo = driverLicenseNo;
    }

    public String getDriverLicenseNo() 
    {
        return driverLicenseNo;
    }

    public void setMaritalStatus(Integer maritalStatus) 
    {
        this.maritalStatus = maritalStatus;
    }

    public Integer getMaritalStatus() 
    {
        return maritalStatus;
    }

    public void setForeignLanguageAbility(String foreignLanguageAbility) 
    {
        this.foreignLanguageAbility = foreignLanguageAbility;
    }

    public String getForeignLanguageAbility() 
    {
        return foreignLanguageAbility;
    }

    public void setAppVersion(String appVersion) 
    {
        this.appVersion = appVersion;
    }

    public String getAppVersion() 
    {
        return appVersion;
    }

    public void setMapType(String mapType) 
    {
        this.mapType = mapType;
    }

    public String getMapType() 
    {
        return mapType;
    }

    public void setDriverEducation(Integer driverEducation) 
    {
        this.driverEducation = driverEducation;
    }

    public Integer getDriverEducation() 
    {
        return driverEducation;
    }

    public void setHouseholdRegistryAgency(String householdRegistryAgency) 
    {
        this.householdRegistryAgency = householdRegistryAgency;
    }

    public String getHouseholdRegistryAgency() 
    {
        return householdRegistryAgency;
    }

    public void setHouseholdAddress(String householdAddress) 
    {
        this.householdAddress = householdAddress;
    }

    public String getHouseholdAddress() 
    {
        return householdAddress;
    }

    public void setDriverMailingAddress(String driverMailingAddress) 
    {
        this.driverMailingAddress = driverMailingAddress;
    }

    public String getDriverMailingAddress() 
    {
        return driverMailingAddress;
    }

    public void setDriverPhotoFileNo(String driverPhotoFileNo) 
    {
        this.driverPhotoFileNo = driverPhotoFileNo;
    }

    public String getDriverPhotoFileNo() 
    {
        return driverPhotoFileNo;
    }

    public void setDriverLicense(String driverLicense) 
    {
        this.driverLicense = driverLicense;
    }

    public String getDriverLicense() 
    {
        return driverLicense;
    }

    public void setDriverLicenseScanNo(String driverLicenseScanNo) 
    {
        this.driverLicenseScanNo = driverLicenseScanNo;
    }

    public String getDriverLicenseScanNo() 
    {
        return driverLicenseScanNo;
    }

    public void setAllowedVehicleType(String allowedVehicleType) 
    {
        this.allowedVehicleType = allowedVehicleType;
    }

    public String getAllowedVehicleType() 
    {
        return allowedVehicleType;
    }

    public void setFirstLicenseDate(Date firstLicenseDate) 
    {
        this.firstLicenseDate = firstLicenseDate;
    }

    public Date getFirstLicenseDate() 
    {
        return firstLicenseDate;
    }

    public void setLicenseValidStart(Date licenseValidStart) 
    {
        this.licenseValidStart = licenseValidStart;
    }

    public Date getLicenseValidStart() 
    {
        return licenseValidStart;
    }

    public void setLicenseValidEnd(Date licenseValidEnd) 
    {
        this.licenseValidEnd = licenseValidEnd;
    }

    public Date getLicenseValidEnd() 
    {
        return licenseValidEnd;
    }

    public void setIsTaxiDriver(Integer isTaxiDriver) 
    {
        this.isTaxiDriver = isTaxiDriver;
    }

    public Integer getIsTaxiDriver() 
    {
        return isTaxiDriver;
    }

    public void setOnlineCarLicenseNo(String onlineCarLicenseNo) 
    {
        this.onlineCarLicenseNo = onlineCarLicenseNo;
    }

    public String getOnlineCarLicenseNo() 
    {
        return onlineCarLicenseNo;
    }

    public void setOnlineCarLicenseAgency(String onlineCarLicenseAgency) 
    {
        this.onlineCarLicenseAgency = onlineCarLicenseAgency;
    }

    public String getOnlineCarLicenseAgency() 
    {
        return onlineCarLicenseAgency;
    }

    public void setQualificationIssueDate(Date qualificationIssueDate) 
    {
        this.qualificationIssueDate = qualificationIssueDate;
    }

    public Date getQualificationIssueDate() 
    {
        return qualificationIssueDate;
    }

    public void setFirstQualificationDate(Date firstQualificationDate) 
    {
        this.firstQualificationDate = firstQualificationDate;
    }

    public Date getFirstQualificationDate() 
    {
        return firstQualificationDate;
    }

    public void setQualificationValidStart(Date qualificationValidStart) 
    {
        this.qualificationValidStart = qualificationValidStart;
    }

    public Date getQualificationValidStart() 
    {
        return qualificationValidStart;
    }

    public void setQualificationValidEnd(Date qualificationValidEnd) 
    {
        this.qualificationValidEnd = qualificationValidEnd;
    }

    public Date getQualificationValidEnd() 
    {
        return qualificationValidEnd;
    }

    public void setRecordDate(Date recordDate) 
    {
        this.recordDate = recordDate;
    }

    public Date getRecordDate() 
    {
        return recordDate;
    }

    public void setIsFullTimeDriver(Integer isFullTimeDriver) 
    {
        this.isFullTimeDriver = isFullTimeDriver;
    }

    public Integer getIsFullTimeDriver() 
    {
        return isFullTimeDriver;
    }

    public void setIsInBlacklist(Integer isInBlacklist) 
    {
        this.isInBlacklist = isInBlacklist;
    }

    public Integer getIsInBlacklist() 
    {
        return isInBlacklist;
    }

    public void setServiceType(Integer serviceType) 
    {
        this.serviceType = serviceType;
    }

    public Integer getServiceType() 
    {
        return serviceType;
    }

    public void setContractCompany(String contractCompany) 
    {
        this.contractCompany = contractCompany;
    }

    public String getContractCompany() 
    {
        return contractCompany;
    }

    public void setEmergencyContact(String emergencyContact) 
    {
        this.emergencyContact = emergencyContact;
    }

    public String getEmergencyContact() 
    {
        return emergencyContact;
    }

    public void setEmergencyContactMobile(String emergencyContactMobile) 
    {
        this.emergencyContactMobile = emergencyContactMobile;
    }

    public String getEmergencyContactMobile() 
    {
        return emergencyContactMobile;
    }

    public void setEmergencyContactAddress(String emergencyContactAddress) 
    {
        this.emergencyContactAddress = emergencyContactAddress;
    }

    public String getEmergencyContactAddress() 
    {
        return emergencyContactAddress;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("onlineCarInfoId", getOnlineCarInfoId())
            .append("driverId", getDriverId())
            .append("mobileOperator", getMobileOperator())
            .append("companyIdentifier", getCompanyIdentifier())
            .append("registrationAreaCode", getRegistrationAreaCode())
            .append("driverBirthday", getDriverBirthday())
            .append("nationality", getNationality())
            .append("driverEthnic", getDriverEthnic())
            .append("driverLicenseNo", getDriverLicenseNo())
            .append("maritalStatus", getMaritalStatus())
            .append("foreignLanguageAbility", getForeignLanguageAbility())
            .append("appVersion", getAppVersion())
            .append("mapType", getMapType())
            .append("driverEducation", getDriverEducation())
            .append("householdRegistryAgency", getHouseholdRegistryAgency())
            .append("householdAddress", getHouseholdAddress())
            .append("driverMailingAddress", getDriverMailingAddress())
            .append("driverPhotoFileNo", getDriverPhotoFileNo())
            .append("driverLicense", getDriverLicense())
            .append("driverLicenseScanNo", getDriverLicenseScanNo())
            .append("allowedVehicleType", getAllowedVehicleType())
            .append("firstLicenseDate", getFirstLicenseDate())
            .append("licenseValidStart", getLicenseValidStart())
            .append("licenseValidEnd", getLicenseValidEnd())
            .append("isTaxiDriver", getIsTaxiDriver())
            .append("onlineCarLicenseNo", getOnlineCarLicenseNo())
            .append("onlineCarLicenseAgency", getOnlineCarLicenseAgency())
            .append("qualificationIssueDate", getQualificationIssueDate())
            .append("firstQualificationDate", getFirstQualificationDate())
            .append("qualificationValidStart", getQualificationValidStart())
            .append("qualificationValidEnd", getQualificationValidEnd())
            .append("recordDate", getRecordDate())
            .append("isFullTimeDriver", getIsFullTimeDriver())
            .append("isInBlacklist", getIsInBlacklist())
            .append("serviceType", getServiceType())
            .append("contractCompany", getContractCompany())
            .append("emergencyContact", getEmergencyContact())
            .append("emergencyContactMobile", getEmergencyContactMobile())
            .append("emergencyContactAddress", getEmergencyContactAddress())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
